150 INPUT "HIT RETURN WHEN READY TO CONTINUE ";GO$
160 HOME : PRINT : PRINT
300 DEF FN A(Z) = INT( RND(1) *Z +1)
310 INPUT "HOW MANY COLUMNS DOES YOUR PRINTER HAVE ";TW
315 PRINT : INPUT "DO YOU WANT A SOLUTION PRINTOUT ";X$
330 PRINT : INPUT "WHAT IS TO BE THE WIDTH OF THE PUZZLE ";W:MD = W
340 IF W *2 < = TW THEN 345
343 PRINT : PRINT "THAT WILL NOT FIT IN ";TW;" COLUMNS.": GOTO 330
345 IF W <1 THEN 330
350 PRINT : INPUT "THE LENGTH ";L: IF L >W THEN MD = L
355 IF L <1 THEN 350
360 PRINT : INPUT "WHAT IS THE NUMBER OF WORDS IN THE PUZZLE ";M
370 IF M > = 2 THEN 380
375 PRINT : PRINT "SORRY, THERE MUST BE AT LEAST TWO WORDS."
376 GOTO 360
380 PRINT
390 DIM A$(L,W),W$(M)
400 DIM W(M,3),DXY(8,2),DD(28)
410 PRINT : PRINT "NOW ENTER A HEADING THAT WILL BE PRINTED OVER THE PUZZLE:"
420 PRINT "( ";TW;" CHARACTERS MAXIMUM!)"
430 INPUT XY$
440 PRINT : PRINT "OK....ENTER A WORD AT EACH QUESTION MARK. TO REDO THE PREVIOUS WORD, TYPE A HYPHEN (-). WHEN YOU RUN OUT OF WORDS, TYPE A PERIOD (.)."
470 FOR I = 1 TO M
480 PRINT : INPUT T$
485 IF T$ = "-" THEN I = I -1: PRINT : PRINT "REDO ";W$(I);" . . .": GOTO 480
490 IF T$ = "." THEN M = I -1: GOTO 655
500 IF LEN(T$) = 0 THEN PRINT "INPUT ERROR; REDO:": GOTO 480
510 J = 1
520 TE$ = MID$ (T$,J,1): IF TE$ > = "A" AND TE$ < = "Z" THEN 570
530 IF TE$ = T$ THEN T$ = "": GOTO 500
540 IF J = LEN(T$) THEN T$ = LEFT$(T$,J -1): GOTO 580
550 IF J = 1 THEN T$ = RIGHT$(T$, LEN(T$) -1):J = J -1: GOTO 570